package org.yzh.web.service;

import org.yzh.web.model.entity.VehicleTravelDO;
import org.yzh.web.model.vo.DeviceOnlineInfo;
import org.yzh.web.model.vo.VehicleTravelQuery;

import java.time.LocalDate;
import java.util.List;
import java.util.Optional;

/**
 * @author lsj
 * @date 2021/1/15 16:11
 */
public interface VehicleTravelService {

    List<VehicleTravelDO> find(VehicleTravelQuery query);

    Optional<VehicleTravelDO> findUnique(String deviceId, String plateNo, LocalDate date);

    int insert(VehicleTravelDO record);

    int batchInsert(List<VehicleTravelDO> records);

    /**
     * 根据在线信息更新行驶时间
     * @param onlineInfo 在线信息
     * @return 更新数量
     */
    int updateTravelTime(DeviceOnlineInfo onlineInfo);

    /**
     * 更新
     * @param record
     * @return
     */
    int update(VehicleTravelDO record);

}
